package zhuanyeshixi2.basic.mapper;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import zhuanyeshixi2.basic.domain.User;  // 使用 domain.User
import java.util.List;

@Mapper
public interface UserCustomMapper {

    /**
     * 根据用户名查询用户
     */
    User selectByUsername(String username);

    /**
     * 插入用户角色关系
     */
    int insertUserRole(@Param("userId") Integer userId, @Param("roleId") Integer roleId);

    /**
     * 批量插入用户角色关系
     */
    int batchInsertUserRoles(@Param("userId") Integer userId, @Param("roleIds") List<Integer> roleIds);

    /**
     * 删除用户的所有角色
     */
    int deleteUserRolesByUserId(Integer userId);

    /**
     * 删除用户的特定角色
     */
    int deleteUserRole(@Param("userId") Integer userId, @Param("roleId") Integer roleId);

    /**
     * 查询用户的角色ID列表
     */
    List<Integer> selectRoleIdsByUserId(Integer userId);

    /**
     * 检查用户名是否存在
     */
    int countByUsername(String username);
}